home *** CD-ROM | disk | FTP | other *** search
- Storm VT100/VT102 terminal emulation
-
- Features:
- Graphics character set (line drawing)
- Double-width, double-height characters
- Text effects include bold, underline, inverse. (Blinking effect displayed
- as 'light' characters).
-
- Detailed specifications.
-
- Note: Columns and rows are numbered starting at row 1, column 1 in the upper
- left corner.
-
- Note: In the following table, 'Pn' indicates a numeric parameter. Numeric
- parameters are simply Ascii numbers that are used to modify the effect of
- an escape sequence. e.g. specify how many columns the cursor is to move.
-
- If multiple numeric parameters are sent, they are separated by a semicolon.
- The absence of a parameter means a default value is assumed.
-
- Scrolling regions: Under software control, a host computer can set up a
- region of lines as a 'scrolling region'. Control characters and escape
- sequences that normally cause the entire screen to scroll up or down will
- cause only the area of the scrolling regions to scroll up or down instead.
-
- Character(s) Effect
-
- 5 ENQ. Terminal replies with Answerback string. To add an
- answerback string, you need to edit the STORM.INI file to
- add an entry in [VT100] of the form:
- Answerback="string"
- You could also use the Basic command SET
- e.g. SET "STORM","VT100","Answerback","string"
- The answerback string is limited to 80 characters.
-
- Note that answerback is disabled if the CompuServe BPLUS.TRF
- file transfer module is loaded because ENQ is required for
- B-PLUS file transfers.
-
- 7 Bell. Causes a bell sound, if it's enabled by your system
- setup. This is controlled by the control panel usually.
-
- 8 Backspace. Moves the cursor to the previous column. No action
- taken if the cursor is already in column 1. Backspaces are
- non-destructive in VT100, though that can be overridden by
- selecting "BS Erases" in the generic Terminal setup dialog.
-
- 9 Tabs to the next tab stop. Default tab stops are every 8 columns,
- starting at column 9. Tab stops can be set and cleared by the
- host computer by sending the appropriate escape sequences.
-
- 10 Line Feed. Causes the cursor to move to the next line. If the
- cursor is already at the bottom of the screen or scrolling
- region, scrolls the screen upwards. 'New Line' mode, if set,
- causes the cursor to move to column 1 when a line feed occurs,
- simulating the effect of a carriage return.
-
- 11
- 12 Generate line feeds.
-
- 13 Carriage return. Causes the cursor to move to column 1 on the
- current line. A separate setting in the generic Terminal
- setup dialog can add a line feed to all carriage returns
- received, though that is not really a part of the VT100
- emulation.
-
- 14 Shift Out. Selects 'G1' character set. Specific
- escape sequences (described later) allow you to specify what
- character set is used as the G1 character set.
-
- 15 Shift In. Selects 'G0' character set. G0 character set can
- be altered by escape sequences (described later)
-
- 27 (ESC)The escape character introduces an escape sequence, which is
- used to control many terminal features.
-
-
- ESC [ CSI or Control String Introducer. Consists of the ESC
- (Ascii 27) followed by a left square bracket. Indicates the
- start of a category of escape sequences.
-
- ESC D Index. Moves the cursor to the next line, scrolling the screen
- up if necessary.
-
- ESC E Next Line. Equivalent in effect to a Carriage Return + Line
- Feed combination. Moves the cursor to the start of the next
- line, scrolling the screen up if necessary.
-
- ESC M Reverse Index. Moves the cursor to the previous line, scrolling
- the screen down if necessary.
-
- ESC H Sets a tab stop at the current cursor location.
-
- ESC 7 Saves the currrent cursor location, character set, and text
- effects for later restoring via the cursor restore sequence.
-
- ESC 8 Restores a cursor state saved by a previous ESC 7 sequence.
-
- ESC = Sets Application Keypad mode. Causes the numeric keypad on the
- ST to send special escape sequences that can be interpreted
- by a host program.
-
- ESC > Resets keypad to normal numeric mode.
-
- ESC c Resets the terminal to default settings. i.e. whatever settings
- you selected in the setup dialog box.
-
-
- ESC [ Pn @ Inserts the number of characters specified by the numeric
- parameter at the current cursor location. Characters at the
- end of the line are lost.
-
- ESC [ Pn A Moves the cursor up by the number of rows specified by the
- numeric parameter. The cursor will not move above the top of
- the screen or the top line of a scrolling region.
-
- ESC [ Pn B Moves the cursor down by the number of rows specified by the
- numeric parameter. The cursor will not move above the bottom of
- the screen or the top line of a scrolling region.
-
- ESC [ Pn C Moves the cursor right by the number of columns specified by
- the numeric parameter. Will not move past the end of the line.
-
- ESC [ Pn D Moves the cursor right by the number of columns specified by
- the numeric parameter. Will not move past the end of the line.
-
- ESC [ Pn E Moves the cursor down, as with ESC [ Pn B, but the cursor is
- always repositioned to column 1.
-
- ESC [ Pn F Moves the cursor up, as with ESC [ Pn A, but the cursor is
- always repositioned to column 1.
-
- ESC [ Pn G Cursor Horizontal Absolute. Moves the cursor to the column
- specified by the numeric parameter.
-
-
- ESC [ Pn;Pn H Position Cursor. Moves the cursor to the specified row and
- ESC [ Pn;Pn f column. The first number is the row, the second number is the
- column. Default if a parameter is absent is row/column 1.
- When relative origin mode is in effect (discussed later) then
- the cursor row is calculated relative to the top of the
- scrolling region.
-
- ESC [ 0 J Clears from the current cursor location to the end of the
- ESC [ J screen. Does not move the cursor.
-
- ESC [ 1 J Clears from the start of the screen to the current cursor
- location. Does not move the cursor.
-
- ESC [ 2 J Clears the entire screen. Does not move the cursor.
-
- ESC [ K Clears from the current cursor location to the end of the line.
- ESC [ 0 K Does not move the cursor.
-
- ESC [ 1 K Clears from the start of the line to the cursor location. Does
- not move the cursor.
-
- ESC [ 2 K Clears the entire line that the cursor is on. Does not move the
- cursor.
-
- ESC [ Pn L Insert Line. Inserts Pn blank lines at the current cursor
- location and scrolls the rest of the screen (or scrolling
- region) down.
-
- ESC [ Pn M Delete Line. Deletes Pn lines at the current cursor location
- and scrolls the rest of the screen (or scrolling region) up.
-
- ESC [ Pn P Delete Character. Deletes Pn characters at the current cursor
- location and shifts the line to fill in the space. Blank
- characters are placed at the end of the line when characters
- are deleted.
-
- ESC [ Pn X Erase Character. Erases Pn characters at the current cursor
- location.
-
- ESC [ c Report Device Attributes. Responds by transmitting an escape
- ESC [ 0 c sequence identifying the terminal. The default response is
- "ESC[?6;2c", which is a VT102 response. This reponse can be
- changed by inserting a line in the [VT100] section of the
- STORM.INI file with the heading ID="(Replacement ID)".
- e.g. ID="\33[1;2c" would change the reponse to a VT100 type
- response.
-
-
- ESC [ g Clear Column Tab. Clears the tab stop (if any) at the cursor
- ESC [ 0g location.
-
- ESC [ 3 g Clear All Column Tabs. Clears all tab stops.
-
- ESC [ Pn h Sets various terminal modes detailed below. Note that more
- than one mode can be set if multiple parameters are sent.
-
- ESC [ 4 h Set Insert mode. Subsequent characters are inserted at the
- current cursor location and the rest of the line is scrolled
- over to. Characters at the end of the line are lost.
-
- ESC [ 12 h Set Local Echo. Turns half duplex on.
-
- ESC [ 20 h Set Newline mode. Causes received Line Feed characters
- (Ascii 10) to also move the cursor to the start of the line.
-
- ESC [ Pn l Resets the various terminal modes detailed above. Reverses the
- effect of the corresponding ESC [ Pn h escape sequence. Note:
- 'l' is a lowercase L, not the number one '1'.
-
- ESC [ 4 l Set Replace mode. Subsequent characters overwrite.
-
- ESC [ 12 l Resets local echo. Turns full duplex on.
-
- ESC [ 20 l Resets Newline mode.
-
- ESC [ Pn m Sets/resets various character attributes used in subsequent
- terminal output. Multiple parameters allow the setting of
- more than one attribute in the same escape sequence.
-
- ESC [ m
- ESC [ 0 m No attributes. Turns all attributes off.
-
- ESC [ 1 m Set Bold attribute.
-
- ESC [ 4 m Set Underlined attribute.
-
- ESC [ 5 m Set Blinking attribute. Instead of the characters actually
- blinking, this attribute is indicated by printing 'light'
- characters.
-
- ESC [ 7 m Set Reversed attribute. Subsequent characters are displayed in
- reverse video.
-
- ESC [ 22 m Turn Bold attribute off.
-
- ESC [ 24 m Turn Underlined attribute off.
-
- ESC [ 25 m Turn Blinking attribute off.
- ESC [ 27 m Turn Reversed attribute off.
-
- ESC [ 5 n Report Terminal Status. Emulator responds by sending ESC [ 0 n
-
- ESC [ 6 n Report Cursor Location. Emulator responds by sending an
- escape sequence reporting the current cursor location.
-
- ESC [ Pn;Pn r Set Scrolling region. The first parameter is the top of the
- scrolling region, the second is the bottom. Also causes the
- cursor to move to location 1,1 (either top of the scrolling
- region or top of the screen, depending on origin mode).
-
- ESC [r Resets the scrolling region to full screen.
- ESC [0;0r
-
- ESC ( 0 Sets the G0 character set as the Graphics character set.
-
- ESC ( 1 Sets the G0 character set as the Alternate ROM character set.
- This is not currently supported by the emulator, mostly to
- save memory. However, it could easily be added.
-
- ESC ( 2 Sets the G0 character set as the Alternate ROM graphics set.
- This is also not currently supported by the emulator.
-
- ESC ( A Sets the G0 character set as the UK character set. The only
- change is that '#' is replaced by the UK Pound Sterling
- symbol.
-
- ESC ( B Sets the G0 character set as the ASCII character set. This is
- the default character set.
-
- ESC ) 0 Perform the same functions as the corresponding ESC ) escape
- ESC ) 1 sequences, but affect the G1 character set instead.
- ESC ) 2
- ESC ) A
- ESC ) B
-
- ESC # 5 Set character width single on current line.
-
- ESC # 6 Set double character width on current line.
-
- ESC # 3 Set double-width/double-height character display on current
- line. Displays the top half of each character as double-height
- and double width. Used in conjunction with ESC # 4 to display
- a line of double-height, double-width characters.
-
- ESC # 4 Set double-width/double-height character display on current
- line. Displays the bottom half of each character as
- double-height and double-width.
-
- ESC # : Sets double-height character display on current line. Displays
- the top half of each character double-height;
-
- ESC # ; Sets double-height character display on current line. Displays
- the bottom half of each character double-height;
-
- ESC [ ? Pn h Sets various extended terminal modes described below. Multiple
- modes can be set if more than one parameter is sent.
-
- ESC [ ? 1 h Set cursor key Application mode. Causes the cursor keys to
- send escape sequences which can be interpreted by a host
- computer.
-
- ESC [ ? 3 h Sets 132 column mode. Currently not supported.
-
- ESC [ ? 4 h Sets Smooth Scroll. Not implemented.
-
- ESC [ ? 5 h Sets Reverse Screen. Toggles output to white characters on a
- black background. Note that Storm uses white and black by
- default. However you can set different colors for fore and
- back colors by inserting entries in the [Terminal] section
- of the STORM.INI file. The default entries are
- Fore=1
- Back=0
- which set foreground to black, background to white. The digits
- are GEM color indexes as detailed in the following table:
- The number of colors supported depends on video mode. The
- actual color that appears depends on how you have setup the
- color palette. Setting reverse screen simply swaps foreground
- and background colors.
- This feature has not been testing on the Falcon or TT.
-
- Index Color
- ===============
- 0 White
- 1 Black
- 2 Red
- 3 Green
- 4 Blue
- 5 Cyan
- 6 Yellow
- 7 Magenta
- 8 White
- 9 Black
- 10 Light Red
- 11 Light Green
- 12 Light Blue
- 13 Light Cyan
- 14 Light Yellow
- 15 Light Magenta
- 16 or greater is device dependant.
-
- ESC [ ? 6 h Set Relative Origin Mode. Cursor positioning commands in
- Relative Origin mode are relative to the top of the scrolling
- region (if any) rather than the top of the screen.
-
- ESC [ ? 7 h Set Line Wrap. When line wrap is set, typing a character at
- the end of a row will cause the cursor to move to the start
- of the next line.
-
- ESC [ ? Pn l Resets verious extended terminal modes. Has opposite effect
- of corresponding Esc [ ? Pn h setting.
-
- ESC [ ? 1 l Resets cursor keys to normal mode.
- ESC [ ? 2 l Set VT52 Mode. This will cause the emulator to switch to
- emulating a VT52 terminal. To return from VT52, use the
- sequence ESC < from within VT52 emulation.
-
- ESC [ ? 3 l Set 80 column mode. Since the emulator doesn't yet support
- 132 column mode, this has no effect.
-
- ESC [ ? 4 l Set Jump Scroll. Since smooth scroll is not supported, this
- has no effect.
-
- ESC [ ? 5 l Set Normal Screen. Restores normal foreground and background
- colors.
-
- ESC [ ? 6 l Reset Origin Mode. Restores absolute cursor origin mode.
-
- ESC [ ? 7 l Reset Line Wrap. When entering characters, the cursor will
- not automatically wrap to the next line.
-
- ESC [ ? 15 n Report Local Printer Status. No printer support at present.
- The emulator responds with "ESC ? 13 n" to indicate that
- no printer is present.
-
- Other VT100 Info
-
- The VT100 default settings are saved in the STORM.INI file in a section
- labelled [VT100]. The entry Reset=00000000000 contains the settings. Each
- digit is a VT100 setting. Most settings are either 0 or 1. A few have
- larger ranges The settings are (in order)
- Digit = 1 Digit = 0
- =================================================
- Keypad Application Mode Keypad Numeric Mode
- Cursor Application Mode Normal Cursor Mode
- Relative Origin Mode Absolute Origin Mode
- Insert Mode Overwrite Mode
- New Line Mode Set New Line Mode Reset
- -----------------
- G0 (can range from 0 to 3)
- G1 (can range from 0 to 3)
- Current Selected Set. 0 or 1 at present, indicating G0 (0) or G1 (1). In
- future this could change to 0 to 3 if support for four character sets is
- added.
- -----------------
- Line Wrap On Line Wrap Off
- Destructive Backspace Non-Destructive Backspace
- ReverseVideo Normal Video
-
- Note that this includes extra settings not available from the setup dialog.
- When the ESC c sequence is received and the terminal is reset, these values
- are used in resetting the terminal. This is useful if you want a particular
- setup to be retained when the terminal is reset. e.g. keypad application mode
- to remain set.
-
-
- I should note that Line Wrap, Destructive Backspace, and Reverse Video are
- actually part of the general terminal setup. They are included here in order
- to be able to override the general terminal settings when resetting the
- VT100 terminal. When you use the VT100 setup dialog, the current state of
- these three settings are automatically saved in the VT100 Reset setting.
-
- Note: Setting the VT100 New Line mode alters the general terminal settings to
- set Add Linefeeds Inbound in addition to the VT100 New Line setting. If you
- have New Line selected in VT100, but Add Linefeeds Inbound is not selected
- in the general terminal setup, then loading VT100 will automatically set
- Add Linefeeds Inbound.
-
-
-